// import { configChange } from '../Config';
// import { globalConfigObject } from "../../react-app-env";
// import LocaleReducer from '../reducer/LocaleReducer';

/**
 * 项目工具
 */

let intl,
    isOnline,
    // 全局路由history对象
    routeHistory;

/**
 * config变化的时候更新变量
 */
// configChange((config: globalConfigObject) => {
//     isOnline = config.type === "online";
//     log("dev", isDevelopment(), "isPro", isProduction());
// });

/**
 * 当前是否开发环境
 * @param allowDevChange 默认true 是否允许开发工具修改值 localStorage.env === "dev"
 *                          可能涉及安全性的判断请传递 false
 *                          正式环境调试的时候可以使用 localStorage.env = "dev" 来控制当前环境
 * @return {boolean}
 */
export function isDevelopment(allowDevChange = true){
    return process.env.NODE_ENV === "development" || (allowDevChange && localStorage.env === "dev");
}

/**
 * 当前是否生产环境
 * @return {*}
 */
export function isProduction(){
    return process.env.NODE_ENV === "production";
}

/**
 * 模式是否是线上模式
 */
export function isTypeOnline(){
    return isOnline;
}

/**
 * 只在开发环境打印的日志
 */
export function log(...arg) {
    if(isDevelopment()){
        // window.console.log.apply(window.console, arg);
    }
}

/**
 * 获取全局多语言对象
 */
export function getIntl() {
    return intl;
}

/**
 * 设置全局多语言对象
 */
export function setIntl(newIntl) {
    intl = newIntl;
}

/**
 * 获取全局路由history对象
 */
export function getRouteHistory() {
    return routeHistory;
}

/**
 * 设置全局路由history对象
 */
export function setRouteHistory(newRouteHistory) {
    routeHistory = newRouteHistory;
}

/**
 * 当前语言判断
 * @param zhKey
 * @param enKey
 * @returns {*}
 */
export function getLangKey(zhKey, enKey) {
    // console.log(getState)
    // return getState(new LocaleReducer()).name === 'zh' ? zhKey : enKey;
}

